package com.foredu.fiqs.web.util;

import java.io.OutputStream;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

import jxl.Workbook;
import jxl.format.*;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;

public class ExcelDocWriter {
	
	public static void buildExcelDoc(List evaluations, OutputStream out) {
		try {
			WritableWorkbook wwb = Workbook.createWorkbook(out);
			WritableSheet ws = wwb.createSheet("教学评价结果列表", 0);
			
            /***********设置列宽*****************/
            ws.setColumnView(0, 15); // 第1列
            ws.setColumnView(1, 15); // 第2列
            ws.setColumnView(2, 20);// 第3列
            ws.setColumnView(3, 15); // 第4列
            ws.setColumnView(4, 15); // 第5列
            ws.setColumnView(5, 15); // 第6列
            ws.setColumnView(6, 15); // 第7列
            
            ws.setColumnView(7, 10); // 第8列——总分值
            ws.setColumnView(8, 10); // 第9列 ——总A数
            ws.setColumnView(9, 10); // 第10列 ——总B数
            ws.setColumnView(10, 10); // 第11列 ——总C数
            ws.setColumnView(11, 10); // 第12列 ——总D数
            
            ws.setColumnView(12, 20); // 第13列 ——各项评分指标得分（共20项）
            ws.setColumnView(13, 20);
            ws.setColumnView(14, 20);
            ws.setColumnView(15, 20);
            ws.setColumnView(16, 20);
            ws.setColumnView(17, 20);
            ws.setColumnView(18, 20);
            ws.setColumnView(19, 20);
            ws.setColumnView(20, 20);
            ws.setColumnView(21, 20);
            ws.setColumnView(22, 20); 
            ws.setColumnView(23, 20);
            ws.setColumnView(24, 20);
            ws.setColumnView(25, 20);
            ws.setColumnView(26, 20);
            ws.setColumnView(27, 20);
            ws.setColumnView(28, 20);
            ws.setColumnView(29, 20);
            ws.setColumnView(30, 20);
            ws.setColumnView(31, 20);
                        
            /*****************设置单元格字体***************/
            //字体
            WritableFont NormalFont = new WritableFont(WritableFont.ARIAL, 10);
            WritableFont BoldFont = new WritableFont(WritableFont.ARIAL, 18, WritableFont.BOLD);
            WritableFont tableFont = new WritableFont(WritableFont.ARIAL, 12, WritableFont.NO_BOLD);
            WritableFont baodanFont = new WritableFont(WritableFont.ARIAL, 10, WritableFont.BOLD);
            
            /*****************以下设置几种格式的单元格*************/
            // 用于标题
            WritableCellFormat wcf_title = new WritableCellFormat(BoldFont);
            wcf_title.setBorder(Border.NONE, BorderLineStyle.THIN); // 线条
            wcf_title.setVerticalAlignment(VerticalAlignment.CENTRE); // 垂直对齐
            wcf_title.setAlignment(Alignment.CENTRE); // 水平对齐
            wcf_title.setWrap(true); // 是否换行
            
            // 用于表格标题
            WritableCellFormat wcf_tabletitle = new WritableCellFormat(tableFont);
            wcf_tabletitle.setBorder(Border.NONE, BorderLineStyle.THIN); // 线条
            wcf_tabletitle.setVerticalAlignment(VerticalAlignment.CENTRE); // 垂直对齐
            wcf_tabletitle.setAlignment(Alignment.CENTRE); // 水平对齐
            wcf_tabletitle.setWrap(true); // 是否换行
            
            // 用于正文左
            WritableCellFormat wcf_left = new WritableCellFormat(NormalFont);
            wcf_left.setBorder(Border.ALL, BorderLineStyle.THIN); // 线条
            wcf_left.setVerticalAlignment(VerticalAlignment.CENTRE); // 垂直对齐
            wcf_left.setAlignment(Alignment.LEFT);
            wcf_left.setWrap(true); // 是否换行

            // 用于正文左
            WritableCellFormat wcf_center = new WritableCellFormat(NormalFont);
            wcf_center.setBorder(Border.ALL, BorderLineStyle.THIN); // 线条
            wcf_center.setVerticalAlignment(VerticalAlignment.CENTRE); // 垂直对齐
            wcf_center.setAlignment(Alignment.CENTRE);
            wcf_center.setWrap(true); // 是否换行

            // 用于正文右
            WritableCellFormat wcf_right = new WritableCellFormat(NormalFont);
            wcf_right.setBorder(Border.ALL, BorderLineStyle.THIN); // 线条
            wcf_right.setVerticalAlignment(VerticalAlignment.CENTRE); // 垂直对齐
            wcf_right.setAlignment(Alignment.RIGHT);
            wcf_right.setWrap(false); // 是否换行

            // 用于跨行
            WritableCellFormat wcf_merge = new WritableCellFormat(NormalFont);
            wcf_merge.setBorder(Border.ALL, BorderLineStyle.THIN); // 线条
            wcf_merge.setVerticalAlignment(VerticalAlignment.TOP); // 垂直对齐
            wcf_merge.setAlignment(Alignment.LEFT);
            wcf_merge.setWrap(true); // 是否换行

            WritableCellFormat wcf_table = new WritableCellFormat(NormalFont);
            wcf_table.setBorder(Border.ALL, BorderLineStyle.THIN); // 线条
            wcf_table.setVerticalAlignment(VerticalAlignment.CENTRE); // 垂直对齐
            wcf_table.setAlignment(Alignment.CENTRE);
            wcf_table.setBackground(Colour.GRAY_25);
            wcf_table.setWrap(true); // 是否换行
            
            /** *//** ************单元格格式设置完成****************** */
            
            //合并单元格,注意mergeCells(col0,row0,col1,row1) --列从0开始,col1为你要合并到第几列,行也一样
            ws.mergeCells(0, 0, 31, 0);
            Label label00 = new Label(0, 0, "湖北职业技术学院教学评价结果汇总表", wcf_title);
            ws.addCell(label00);
            
           
			wwb.write();
			wwb.close();
			
		} catch (Exception e) {
			e.printStackTrace();
		} 
	}
}
